package control;

import excepcionesPropias.ElArchivoNoExiste;
import vista.VentanaPrincipal;
import vista.VistaLlegada;
import vista.VistaMapa;
import vista.VistaPuntaje;
import vista.VistaShadow;
import vista.VistaVehiculo;
import modelo.jugador.Jugador;

public class ControlPartida {
	
	private Jugador conductor;
	private int dimCuadra;

	ControlPartida(Jugador elConductor) throws ElArchivoNoExiste{
		conductor = elConductor;
		
		//Creo las Vistas
		
	    VistaMapa vistaMap = new VistaMapa(conductor.getMovil().getCiudad());
	    dimCuadra = vistaMap.getDimCuadra();
	    VistaVehiculo vistaVehiculo=new VistaVehiculo(conductor, dimCuadra);
	    
	    VistaShadow vistaSombra = new VistaShadow(dimCuadra);
	    
	    VistaPuntaje vistaPje = new VistaPuntaje(conductor);
	    
	    VistaLlegada vistaLlegada = new VistaLlegada(conductor,dimCuadra);
		
	    //Controladores
		new ControlSombra(conductor,vistaSombra);		
		new ControlVehiculo(conductor,vistaVehiculo);
		new ControlPuntaje(conductor,vistaPje);

		//Pantallas
		VentanaPrincipal ventanaPrincipal = new VentanaPrincipal(vistaMap,conductor,vistaVehiculo,vistaSombra,vistaPje,vistaLlegada);
		
		//Controlador de Ventana Principal
		new ControlPrincipal(conductor,ventanaPrincipal);
	}
}
